package com.ship.system.api;

import com.ship.common.core.constant.ServiceNameConstants;
import com.ship.system.api.factory.RemoteCommonFallbackFactory;
import com.ship.system.api.model.ProcessInstanceParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@FeignClient(contextId = "bpmInstanceService", value = ServiceNameConstants.DISPATCH_SERVICE)
public interface BpmInstanceService {

    //优秀案例
   public static final String CON_RESOURCE_BOM_KEY ="conResource";

   //新增合同模版
   public static final String CON_TEMPLATE_BPM_KEY = "conTemplate";
   //新增模版条款
   public static final String SAVE_CLAUSE_BPM_KEY="saveClause";

   //年度计划下发
   public static final String SP_YEAR_PLAN_BPM_KEY ="spYearPlan";

    //调度方案下发
    public static final String SP_DISPATCH_SCHEME_BPM_KEY ="spDispatchScheme";

    //船货排布
    public static final String ARRANGE_SCHEME_BPM_KEY ="arrangeSchemeApproveBack";

   //订单有业务说明
   public static final String SP_PAY_ORDER_EXISTS_BPM_KEY="spPayOrderExists";
   //订单无业务说明
    public static final String SP_PAY_ORDER_BPM_KEY="spPayOrder";

    //订单有业务说明
    public static final String SP_PAY_ORDER_EXISTS_SUBLEASE_BPM_KEY="spPayOrderSubleaseExists";
    //订单无业务说明
    public static final String SP_PAY_ORDER_SUBLEASE_BPM_KEY="spPayOrderSublease";

    public static final String SYSTEM_DELETE_BPM_KEY = "sysremDelete";


    @PostMapping("/process/start")
    public String startProcessInstance(@RequestBody ProcessInstanceParam param);
}
